草庐IT

python - 在 python 中重构这个 dictionary-to-xml 转换器

全部标签

Ruby on Rails 上传文件问题 奇数 utf8 转换错误

我正在尝试上传文件,但出现以下错误:"\xFF"fromASCII-8BITtoUTF-8我非常关注Rails指南的工作。这是我正在使用的代码。file=params[:uploaded_file]File.open(Rails.root.join('public','images',file.original_filename),'w')do|f|f.write(file.read)end我不明白为什么它不起作用。我做错了什么?更新--这是应用程序跟踪app/controllers/shows_controller.rb:16:in`write'app/controllers/sho

ruby-on-rails - Ruby/Rails - 如何将秒数转换为时间?

我需要执行以下转换:0->12.00AM1800->12.30AM3600->01.00AM...82800->11.00PM84600->11.30PM我想到了这个:(0..84600).step(1800){|n|puts"#{n.to_s}#{Time.at(n).strftime("%I:%M%p")}"}这给了我错误的时间,因为Time.at(n)期望n是从纪元开始的秒数:0->07:00PM1800->07:30PM3600->08:00PM...82800->06:00PM84600->06:30PM这种转换的最佳、独立于时区的解决方案是什么?

ruby-on-rails - 帮助重构这个讨厌的 Ruby if/else 语句

所以我有这个大而多毛的if/else语句。我将一个跟踪号传递给它,然后它确定它是什么类型的跟踪号。我怎样才能简化这件事?特别想减少代码行数。ifnum_length是的,我知道。这很讨厌。 最佳答案 试试这个。我使用case和正则表达式重写了它。我还使用:symbols而不是"strings"作为返回值,但您可以将其改回。tracking_service=casenumberwhen/^.Z/then:upswhen/^Q/then:dhlwhen/^96.{20}$/then:fedexwhen/^[HK].{10}$/then:

ruby - 如何使用 ruby​​ 1.9 转换字符编码

我目前在处理来自亚马逊API的结果时遇到问题。该服务返回一个带有unicode字符的字符串:在Mac上学习Objective\xE2\x80\x93C(学习系列)使用ruby​​1.9.1甚至无法处理字符串:REXML::ParseException:#...ExceptionparsingLine:1Position:1636Last80unconsumedcharacters:LearnObjective–ContheMac(LearnSeries) 最佳答案 作为异常(exception)点,您的字符串是ASCII-8BIT编

ruby-on-rails - 编码未定义的转换错误 - Ruby on Rails,写入错误

所以我试图从网站下载一个zip文件并将该数据放入一个表中。下载之前一直在工作,但突然之间,它不再是了。我得到一个“‘write’:“\xB6”fromASCII-8BITtoUTF-8(Encoding::UndefinedConversionError)”的问题。很奇怪,自从我上次运行脚本以来没有任何变化。这是有问题的代码部分。我正在使用一个gem,它允许我在zip文件中解析DBF文件。代码如下:`write':"\xB6"fromASCII-8BITtoUTF-8(Encoding::UndefinedConversionError)感谢帮助更新:显然,我在rails内运行。我在r

Ruby 需要 "no such file to load"错误但在路径中很明显

我一直在尝试让一个ruby​​文件要求另一个ruby​​文件,我觉得我快疯了。我的设置如下“/raid1/ruby-code/benchmark/”中的两个文件CommandRunnerBenchmarkerBenchmarker是此时的主要程序,它需要CommandRunner,我尝试了很多不同的东西,但都没有用。以下是我放在Benchmarker开头的所有内容的列表require'CommandRunner'require'./CommandRunner'$LOAD_PATH.unshiftFile.expand_path(File.dirname($PROGRAM_NAME))r

ruby - 法拉第 : you may want to install system_timer for reliable timeouts

我将一个旧脚本迁移到一个新的CentOSbox并在运行脚本时收到以下消息:Faraday:youmaywanttoinstallsystem_timerforreliabletimeouts它是警告吗?system_timer是什么?gem? 最佳答案 这是一颗gem。不过,您应该不再需要它了,因为它只支持Ruby1.8及更早版本(Ruby1.8已正式弃用)。来自http://ph7spot.com/musings/system-timer:Update:system_timerisonlyrelevantifyouarerunni

ruby-on-rails - Rails Engines : When to put code in app, 何时在 lib 中,何时在 vendor 文件夹中?

我正在开发一个Rails引擎,所以我对现有引擎进行了一些研究。我注意到他们中的许多人在app中都有文件,但也在lib和vendor中。我很清楚,我应该将任何应该由主机应用程序替换的代码放入app文件夹中(例如,当有一个模型app/user.rb,主机应用程序可以很容易地拥有自己的app/user.rb文件并使用这个而不是引擎的)。但我不确定,何时必须将内容放入lib,何时放入vendor?我想,在vendor中,我应该只放置我想在我的项目中使用的来自其他开发人员或项目的“外部”代码,而在lib中,我放置我的拥有我在项目中实际使用的其他库。但是,例如,为什么WiceGrid将内容放入其w

ruby - 我在 "gem list"中看到 gem 但有 "no such file to load"

我在Ubuntu10上sudoapt-getinstallruby1.9.1-full然后下载rubygem1.3.7的源码并安装sudorubysetup.rb然后,例如,安装sinatrasudogeminstallsinatra最后打开irb并输入require"rubygems"require"sinatra"得到错误LoadError:nosuchfiletoload--sinatrafrom(irb):2:in`require'from(irb):2from/usr/bin/irb:12:in`' 最佳答案 我正好遇到了

ruby - custom_require.rb :36:in `require' : no such file to load -- myapp(LoadError)

我收到上述错误,我所做的只是安装rvm并从您使用mac获得的默认ruby​​更新到ruby​​1.9.2。我所有的gem都出现在gem列表中,但我需要在某处指定路径吗?干杯,格伦诺。 最佳答案 检查你是否安装了gemsgemlist如果没有,照常安装geminstallwhatever或者如果你想要特定版本geminstallwhatever-v1.2.3或者如果你的项目中有bundler(即Rails),它只是bundleinstall如果您拥有所有的gem,那么这可能是一个本地文件,并且您可能来自Ruby版本$LOAD_PATH